package com.chenyuxin.ilp.service.file;

import com.chenyuxin.ilp.model.pojo.Result;
import org.springframework.http.ResponseEntity;

public interface OpenFileService {
    /**
     * 查询用户所有公开文件与文件夹
     * @param userId 用户id
     * @param hostUserId 文件主人id
     * @return 子文件树型结构列表
     */
    Result selectAllOpenFile(String userId, String hostUserId);

    /**
     * 根据父文件夹id查询子内容
     * @param parentId 父文件夹id
     * @param hostUserId 文件所属用户id
     * @param userId 申请访问用户id
     * @return 子文件内容列表
     */
    Result selectByParentId(Long parentId, String hostUserId, String userId);

    /**
     * 预览公开文件
     * @param fileid 文件id
     * @param hostUserId 文件所属用户id
     * @param userId 申请访问用户id
     * @return 文件预览url
     */
    Result previewOpenFile(Long fileid, String hostUserId, String userId);

    /**
     * 下载文件
     * @param fileId 文件id
     * @param hostUserId 文件所属用户id
     * @param userId 用户id
     * @return 文件二进制文件
     */
    ResponseEntity<byte[]> downLoadFile(Long fileId, String hostUserId, String userId);
}
